package com.walming.generator.copycat.annotaion;

import com.walming.generator.copycat.enums.ColumnNamingStrategy;
import com.walming.generator.copycat.enums.CompareEnum;
import com.walming.generator.copycat.enums.TimeQueryFormat;

import java.lang.annotation.*;

/**
 * <p>
 * 时间模式查询，根据不同场景对时间进行处理
 * </p>
 *
 * @author walming
 * @date 2021-04-14 11:04
 */
@Documented
@CriteriaQuery
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Time {

    /** 自定义的属性值（数据库字段名） */
    String alias() default "";

    /** 比较运行符，默认采用等于 */
    CompareEnum compare() default CompareEnum.EQ;

    /** 数据库字段命名策略（默认小写字母 && 下划线） */
    ColumnNamingStrategy naming() default ColumnNamingStrategy.LOWER_CASE_UNDER_LINE;

    /** 时间查询格式，默认不做任何处理 */
    TimeQueryFormat format() default TimeQueryFormat.DEFAULT;

}
